package com.carcloud.gateway.api

object DataApiV1Grpc {
  val METHOD_IMPORT_DEVICE_INFO: _root_.io.grpc.MethodDescriptor[com.carcloud.gateway.bean.api.ImportDeviceInfo, com.carcloud.gateway.bean.device.DeviceList] =
    _root_.io.grpc.MethodDescriptor.create(
      _root_.io.grpc.MethodDescriptor.MethodType.UNARY,
      _root_.io.grpc.MethodDescriptor.generateFullMethodName("CarCloud.Gateway.DataApiV1", "importDeviceInfo"),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.api.ImportDeviceInfo),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.device.DeviceList))
  
  val METHOD_QUERY_DEVICE_INFO: _root_.io.grpc.MethodDescriptor[com.carcloud.gateway.bean.api.QueryDeviceInfo, com.carcloud.gateway.bean.device.DeviceInfo] =
    _root_.io.grpc.MethodDescriptor.create(
      _root_.io.grpc.MethodDescriptor.MethodType.UNARY,
      _root_.io.grpc.MethodDescriptor.generateFullMethodName("CarCloud.Gateway.DataApiV1", "queryDeviceInfo"),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.api.QueryDeviceInfo),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.device.DeviceInfo))
  
  val METHOD_QUERY_DATA_LIST: _root_.io.grpc.MethodDescriptor[com.carcloud.gateway.bean.api.QueryDataList, com.carcloud.gateway.bean.data.DataList] =
    _root_.io.grpc.MethodDescriptor.create(
      _root_.io.grpc.MethodDescriptor.MethodType.UNARY,
      _root_.io.grpc.MethodDescriptor.generateFullMethodName("CarCloud.Gateway.DataApiV1", "queryDataList"),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.api.QueryDataList),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.data.DataList))
  
  val METHOD_QUERY_ALARM_LIST: _root_.io.grpc.MethodDescriptor[com.carcloud.gateway.bean.api.QueryAlarmList, com.carcloud.gateway.bean.alarm.AlarmList] =
    _root_.io.grpc.MethodDescriptor.create(
      _root_.io.grpc.MethodDescriptor.MethodType.UNARY,
      _root_.io.grpc.MethodDescriptor.generateFullMethodName("CarCloud.Gateway.DataApiV1", "queryAlarmList"),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.api.QueryAlarmList),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.alarm.AlarmList))
  
  val METHOD_QUERY_EVENT_LIST: _root_.io.grpc.MethodDescriptor[com.carcloud.gateway.bean.api.QueryEventList, com.carcloud.gateway.bean.event.EventList] =
    _root_.io.grpc.MethodDescriptor.create(
      _root_.io.grpc.MethodDescriptor.MethodType.UNARY,
      _root_.io.grpc.MethodDescriptor.generateFullMethodName("CarCloud.Gateway.DataApiV1", "queryEventList"),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.api.QueryEventList),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.event.EventList))
  
  val METHOD_QUERY_TRACK_LIST: _root_.io.grpc.MethodDescriptor[com.carcloud.gateway.bean.api.QueryTrackList, com.carcloud.gateway.bean.data.TrackList] =
    _root_.io.grpc.MethodDescriptor.create(
      _root_.io.grpc.MethodDescriptor.MethodType.UNARY,
      _root_.io.grpc.MethodDescriptor.generateFullMethodName("CarCloud.Gateway.DataApiV1", "queryTrackList"),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.api.QueryTrackList),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.data.TrackList))
  
  val METHOD_QUERY_TRACK_INFO: _root_.io.grpc.MethodDescriptor[com.carcloud.gateway.bean.api.QueryTrackInfo, com.carcloud.gateway.bean.data.TrackInfo] =
    _root_.io.grpc.MethodDescriptor.create(
      _root_.io.grpc.MethodDescriptor.MethodType.UNARY,
      _root_.io.grpc.MethodDescriptor.generateFullMethodName("CarCloud.Gateway.DataApiV1", "queryTrackInfo"),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.api.QueryTrackInfo),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.data.TrackInfo))
  
  val METHOD_QUERY_MEDIA_INFO: _root_.io.grpc.MethodDescriptor[com.carcloud.gateway.bean.api.QueryMediaInfo, com.carcloud.gateway.bean.data.MediaInfo] =
    _root_.io.grpc.MethodDescriptor.create(
      _root_.io.grpc.MethodDescriptor.MethodType.UNARY,
      _root_.io.grpc.MethodDescriptor.generateFullMethodName("CarCloud.Gateway.DataApiV1", "queryMediaInfo"),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.api.QueryMediaInfo),
      new com.trueaccord.scalapb.grpc.Marshaller(com.carcloud.gateway.bean.data.MediaInfo))
  
  trait DataApiV1 extends _root_.com.trueaccord.scalapb.grpc.AbstractService {
    override def serviceCompanion = DataApiV1
    def importDeviceInfo(request: com.carcloud.gateway.bean.api.ImportDeviceInfo): scala.concurrent.Future[com.carcloud.gateway.bean.device.DeviceList]
    def queryDeviceInfo(request: com.carcloud.gateway.bean.api.QueryDeviceInfo): scala.concurrent.Future[com.carcloud.gateway.bean.device.DeviceInfo]
    def queryDataList(request: com.carcloud.gateway.bean.api.QueryDataList): scala.concurrent.Future[com.carcloud.gateway.bean.data.DataList]
    def queryAlarmList(request: com.carcloud.gateway.bean.api.QueryAlarmList): scala.concurrent.Future[com.carcloud.gateway.bean.alarm.AlarmList]
    def queryEventList(request: com.carcloud.gateway.bean.api.QueryEventList): scala.concurrent.Future[com.carcloud.gateway.bean.event.EventList]
    def queryTrackList(request: com.carcloud.gateway.bean.api.QueryTrackList): scala.concurrent.Future[com.carcloud.gateway.bean.data.TrackList]
    def queryTrackInfo(request: com.carcloud.gateway.bean.api.QueryTrackInfo): scala.concurrent.Future[com.carcloud.gateway.bean.data.TrackInfo]
    def queryMediaInfo(request: com.carcloud.gateway.bean.api.QueryMediaInfo): scala.concurrent.Future[com.carcloud.gateway.bean.data.MediaInfo]
  }
  
  object DataApiV1 extends _root_.com.trueaccord.scalapb.grpc.ServiceCompanion[DataApiV1] {
    implicit def serviceCompanion: _root_.com.trueaccord.scalapb.grpc.ServiceCompanion[DataApiV1] = this
    def javaDescriptor: _root_.com.google.protobuf.Descriptors.ServiceDescriptor = com.carcloud.gateway.api.AccessApiV1Proto.javaDescriptor.getServices().get(0)
  }
  
  trait DataApiV1BlockingClient {
    def serviceCompanion = DataApiV1
    def importDeviceInfo(request: com.carcloud.gateway.bean.api.ImportDeviceInfo): com.carcloud.gateway.bean.device.DeviceList
    def queryDeviceInfo(request: com.carcloud.gateway.bean.api.QueryDeviceInfo): com.carcloud.gateway.bean.device.DeviceInfo
    def queryDataList(request: com.carcloud.gateway.bean.api.QueryDataList): com.carcloud.gateway.bean.data.DataList
    def queryAlarmList(request: com.carcloud.gateway.bean.api.QueryAlarmList): com.carcloud.gateway.bean.alarm.AlarmList
    def queryEventList(request: com.carcloud.gateway.bean.api.QueryEventList): com.carcloud.gateway.bean.event.EventList
    def queryTrackList(request: com.carcloud.gateway.bean.api.QueryTrackList): com.carcloud.gateway.bean.data.TrackList
    def queryTrackInfo(request: com.carcloud.gateway.bean.api.QueryTrackInfo): com.carcloud.gateway.bean.data.TrackInfo
    def queryMediaInfo(request: com.carcloud.gateway.bean.api.QueryMediaInfo): com.carcloud.gateway.bean.data.MediaInfo
  }
  
  class DataApiV1BlockingStub(channel: _root_.io.grpc.Channel, options: _root_.io.grpc.CallOptions = _root_.io.grpc.CallOptions.DEFAULT) extends _root_.io.grpc.stub.AbstractStub[DataApiV1BlockingStub](channel, options) with DataApiV1BlockingClient {
    override def importDeviceInfo(request: com.carcloud.gateway.bean.api.ImportDeviceInfo): com.carcloud.gateway.bean.device.DeviceList = {
      _root_.io.grpc.stub.ClientCalls.blockingUnaryCall(channel.newCall(METHOD_IMPORT_DEVICE_INFO, options), request)
    }
    
    override def queryDeviceInfo(request: com.carcloud.gateway.bean.api.QueryDeviceInfo): com.carcloud.gateway.bean.device.DeviceInfo = {
      _root_.io.grpc.stub.ClientCalls.blockingUnaryCall(channel.newCall(METHOD_QUERY_DEVICE_INFO, options), request)
    }
    
    override def queryDataList(request: com.carcloud.gateway.bean.api.QueryDataList): com.carcloud.gateway.bean.data.DataList = {
      _root_.io.grpc.stub.ClientCalls.blockingUnaryCall(channel.newCall(METHOD_QUERY_DATA_LIST, options), request)
    }
    
    override def queryAlarmList(request: com.carcloud.gateway.bean.api.QueryAlarmList): com.carcloud.gateway.bean.alarm.AlarmList = {
      _root_.io.grpc.stub.ClientCalls.blockingUnaryCall(channel.newCall(METHOD_QUERY_ALARM_LIST, options), request)
    }
    
    override def queryEventList(request: com.carcloud.gateway.bean.api.QueryEventList): com.carcloud.gateway.bean.event.EventList = {
      _root_.io.grpc.stub.ClientCalls.blockingUnaryCall(channel.newCall(METHOD_QUERY_EVENT_LIST, options), request)
    }
    
    override def queryTrackList(request: com.carcloud.gateway.bean.api.QueryTrackList): com.carcloud.gateway.bean.data.TrackList = {
      _root_.io.grpc.stub.ClientCalls.blockingUnaryCall(channel.newCall(METHOD_QUERY_TRACK_LIST, options), request)
    }
    
    override def queryTrackInfo(request: com.carcloud.gateway.bean.api.QueryTrackInfo): com.carcloud.gateway.bean.data.TrackInfo = {
      _root_.io.grpc.stub.ClientCalls.blockingUnaryCall(channel.newCall(METHOD_QUERY_TRACK_INFO, options), request)
    }
    
    override def queryMediaInfo(request: com.carcloud.gateway.bean.api.QueryMediaInfo): com.carcloud.gateway.bean.data.MediaInfo = {
      _root_.io.grpc.stub.ClientCalls.blockingUnaryCall(channel.newCall(METHOD_QUERY_MEDIA_INFO, options), request)
    }
    
    override def build(channel: _root_.io.grpc.Channel, options: _root_.io.grpc.CallOptions): DataApiV1BlockingStub = new DataApiV1BlockingStub(channel, options)
  }
  
  class DataApiV1Stub(channel: _root_.io.grpc.Channel, options: _root_.io.grpc.CallOptions = _root_.io.grpc.CallOptions.DEFAULT) extends _root_.io.grpc.stub.AbstractStub[DataApiV1Stub](channel, options) with DataApiV1 {
    override def importDeviceInfo(request: com.carcloud.gateway.bean.api.ImportDeviceInfo): scala.concurrent.Future[com.carcloud.gateway.bean.device.DeviceList] = {
      com.trueaccord.scalapb.grpc.Grpc.guavaFuture2ScalaFuture(_root_.io.grpc.stub.ClientCalls.futureUnaryCall(channel.newCall(METHOD_IMPORT_DEVICE_INFO, options), request))
    }
    
    override def queryDeviceInfo(request: com.carcloud.gateway.bean.api.QueryDeviceInfo): scala.concurrent.Future[com.carcloud.gateway.bean.device.DeviceInfo] = {
      com.trueaccord.scalapb.grpc.Grpc.guavaFuture2ScalaFuture(_root_.io.grpc.stub.ClientCalls.futureUnaryCall(channel.newCall(METHOD_QUERY_DEVICE_INFO, options), request))
    }
    
    override def queryDataList(request: com.carcloud.gateway.bean.api.QueryDataList): scala.concurrent.Future[com.carcloud.gateway.bean.data.DataList] = {
      com.trueaccord.scalapb.grpc.Grpc.guavaFuture2ScalaFuture(_root_.io.grpc.stub.ClientCalls.futureUnaryCall(channel.newCall(METHOD_QUERY_DATA_LIST, options), request))
    }
    
    override def queryAlarmList(request: com.carcloud.gateway.bean.api.QueryAlarmList): scala.concurrent.Future[com.carcloud.gateway.bean.alarm.AlarmList] = {
      com.trueaccord.scalapb.grpc.Grpc.guavaFuture2ScalaFuture(_root_.io.grpc.stub.ClientCalls.futureUnaryCall(channel.newCall(METHOD_QUERY_ALARM_LIST, options), request))
    }
    
    override def queryEventList(request: com.carcloud.gateway.bean.api.QueryEventList): scala.concurrent.Future[com.carcloud.gateway.bean.event.EventList] = {
      com.trueaccord.scalapb.grpc.Grpc.guavaFuture2ScalaFuture(_root_.io.grpc.stub.ClientCalls.futureUnaryCall(channel.newCall(METHOD_QUERY_EVENT_LIST, options), request))
    }
    
    override def queryTrackList(request: com.carcloud.gateway.bean.api.QueryTrackList): scala.concurrent.Future[com.carcloud.gateway.bean.data.TrackList] = {
      com.trueaccord.scalapb.grpc.Grpc.guavaFuture2ScalaFuture(_root_.io.grpc.stub.ClientCalls.futureUnaryCall(channel.newCall(METHOD_QUERY_TRACK_LIST, options), request))
    }
    
    override def queryTrackInfo(request: com.carcloud.gateway.bean.api.QueryTrackInfo): scala.concurrent.Future[com.carcloud.gateway.bean.data.TrackInfo] = {
      com.trueaccord.scalapb.grpc.Grpc.guavaFuture2ScalaFuture(_root_.io.grpc.stub.ClientCalls.futureUnaryCall(channel.newCall(METHOD_QUERY_TRACK_INFO, options), request))
    }
    
    override def queryMediaInfo(request: com.carcloud.gateway.bean.api.QueryMediaInfo): scala.concurrent.Future[com.carcloud.gateway.bean.data.MediaInfo] = {
      com.trueaccord.scalapb.grpc.Grpc.guavaFuture2ScalaFuture(_root_.io.grpc.stub.ClientCalls.futureUnaryCall(channel.newCall(METHOD_QUERY_MEDIA_INFO, options), request))
    }
    
    override def build(channel: _root_.io.grpc.Channel, options: _root_.io.grpc.CallOptions): DataApiV1Stub = new DataApiV1Stub(channel, options)
  }
  
  def bindService(serviceImpl: DataApiV1, executionContext: scala.concurrent.ExecutionContext): _root_.io.grpc.ServerServiceDefinition =
    _root_.io.grpc.ServerServiceDefinition.builder("CarCloud.Gateway.DataApiV1")
    .addMethod(
      METHOD_IMPORT_DEVICE_INFO,
      _root_.io.grpc.stub.ServerCalls.asyncUnaryCall(new _root_.io.grpc.stub.ServerCalls.UnaryMethod[com.carcloud.gateway.bean.api.ImportDeviceInfo, com.carcloud.gateway.bean.device.DeviceList] {
        override def invoke(request: com.carcloud.gateway.bean.api.ImportDeviceInfo, observer: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.device.DeviceList]): Unit =
          serviceImpl.importDeviceInfo(request).onComplete(com.trueaccord.scalapb.grpc.Grpc.completeObserver(observer))(
            executionContext)
      }))
    .addMethod(
      METHOD_QUERY_DEVICE_INFO,
      _root_.io.grpc.stub.ServerCalls.asyncUnaryCall(new _root_.io.grpc.stub.ServerCalls.UnaryMethod[com.carcloud.gateway.bean.api.QueryDeviceInfo, com.carcloud.gateway.bean.device.DeviceInfo] {
        override def invoke(request: com.carcloud.gateway.bean.api.QueryDeviceInfo, observer: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.device.DeviceInfo]): Unit =
          serviceImpl.queryDeviceInfo(request).onComplete(com.trueaccord.scalapb.grpc.Grpc.completeObserver(observer))(
            executionContext)
      }))
    .addMethod(
      METHOD_QUERY_DATA_LIST,
      _root_.io.grpc.stub.ServerCalls.asyncUnaryCall(new _root_.io.grpc.stub.ServerCalls.UnaryMethod[com.carcloud.gateway.bean.api.QueryDataList, com.carcloud.gateway.bean.data.DataList] {
        override def invoke(request: com.carcloud.gateway.bean.api.QueryDataList, observer: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.data.DataList]): Unit =
          serviceImpl.queryDataList(request).onComplete(com.trueaccord.scalapb.grpc.Grpc.completeObserver(observer))(
            executionContext)
      }))
    .addMethod(
      METHOD_QUERY_ALARM_LIST,
      _root_.io.grpc.stub.ServerCalls.asyncUnaryCall(new _root_.io.grpc.stub.ServerCalls.UnaryMethod[com.carcloud.gateway.bean.api.QueryAlarmList, com.carcloud.gateway.bean.alarm.AlarmList] {
        override def invoke(request: com.carcloud.gateway.bean.api.QueryAlarmList, observer: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.alarm.AlarmList]): Unit =
          serviceImpl.queryAlarmList(request).onComplete(com.trueaccord.scalapb.grpc.Grpc.completeObserver(observer))(
            executionContext)
      }))
    .addMethod(
      METHOD_QUERY_EVENT_LIST,
      _root_.io.grpc.stub.ServerCalls.asyncUnaryCall(new _root_.io.grpc.stub.ServerCalls.UnaryMethod[com.carcloud.gateway.bean.api.QueryEventList, com.carcloud.gateway.bean.event.EventList] {
        override def invoke(request: com.carcloud.gateway.bean.api.QueryEventList, observer: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.event.EventList]): Unit =
          serviceImpl.queryEventList(request).onComplete(com.trueaccord.scalapb.grpc.Grpc.completeObserver(observer))(
            executionContext)
      }))
    .addMethod(
      METHOD_QUERY_TRACK_LIST,
      _root_.io.grpc.stub.ServerCalls.asyncUnaryCall(new _root_.io.grpc.stub.ServerCalls.UnaryMethod[com.carcloud.gateway.bean.api.QueryTrackList, com.carcloud.gateway.bean.data.TrackList] {
        override def invoke(request: com.carcloud.gateway.bean.api.QueryTrackList, observer: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.data.TrackList]): Unit =
          serviceImpl.queryTrackList(request).onComplete(com.trueaccord.scalapb.grpc.Grpc.completeObserver(observer))(
            executionContext)
      }))
    .addMethod(
      METHOD_QUERY_TRACK_INFO,
      _root_.io.grpc.stub.ServerCalls.asyncUnaryCall(new _root_.io.grpc.stub.ServerCalls.UnaryMethod[com.carcloud.gateway.bean.api.QueryTrackInfo, com.carcloud.gateway.bean.data.TrackInfo] {
        override def invoke(request: com.carcloud.gateway.bean.api.QueryTrackInfo, observer: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.data.TrackInfo]): Unit =
          serviceImpl.queryTrackInfo(request).onComplete(com.trueaccord.scalapb.grpc.Grpc.completeObserver(observer))(
            executionContext)
      }))
    .addMethod(
      METHOD_QUERY_MEDIA_INFO,
      _root_.io.grpc.stub.ServerCalls.asyncUnaryCall(new _root_.io.grpc.stub.ServerCalls.UnaryMethod[com.carcloud.gateway.bean.api.QueryMediaInfo, com.carcloud.gateway.bean.data.MediaInfo] {
        override def invoke(request: com.carcloud.gateway.bean.api.QueryMediaInfo, observer: _root_.io.grpc.stub.StreamObserver[com.carcloud.gateway.bean.data.MediaInfo]): Unit =
          serviceImpl.queryMediaInfo(request).onComplete(com.trueaccord.scalapb.grpc.Grpc.completeObserver(observer))(
            executionContext)
      }))
    .build()
  
  def blockingStub(channel: _root_.io.grpc.Channel): DataApiV1BlockingStub = new DataApiV1BlockingStub(channel)
  
  def stub(channel: _root_.io.grpc.Channel): DataApiV1Stub = new DataApiV1Stub(channel)
  
  def javaDescriptor: _root_.com.google.protobuf.Descriptors.ServiceDescriptor = com.carcloud.gateway.api.AccessApiV1Proto.javaDescriptor.getServices().get(0)
  
}